package domain

import (
	"gitee.com/cjsn/topsdk/util"
)

type TmallServicecenterSpserviceorderQuerySpServiceOrderDTO struct {
	/*
	   过期日期     */
	GmtExpire *util.LocalTime `json:"gmt_expire,omitempty" `

	/*
	   服务定义     */
	ServiceDefinitionDTO *TmallServicecenterSpserviceorderQueryServiceDefinitionDTO `json:"service_definition_d_t_o,omitempty" `

	/*
	   服务单id     */
	Id *int64 `json:"id,omitempty" `

	/*
	   生效日期     */
	GmtEffect *util.LocalTime `json:"gmt_effect,omitempty" `

	/*
	   服务交易订单     */
	ServiceTradeOrderDTO *TmallServicecenterSpserviceorderQueryServiceTradeOrderDTO `json:"service_trade_order_d_t_o,omitempty" `

	/*
	   服务单申请工单的幂等键     */
	ServiceSequence *int64 `json:"service_sequence,omitempty" `

	/*
	   履约类型:1, "到店"2, "到家"3, "寄送"     */
	FulfilTypeCode *string `json:"fulfil_type_code,omitempty" `

	/*
	   服务提供者     */
	ServiceProviderDTO *TmallServicecenterSpserviceorderQueryServiceProviderDto `json:"service_provider_d_t_o,omitempty" `
}

func (s *TmallServicecenterSpserviceorderQuerySpServiceOrderDTO) SetGmtExpire(v util.LocalTime) *TmallServicecenterSpserviceorderQuerySpServiceOrderDTO {
	s.GmtExpire = &v
	return s
}
func (s *TmallServicecenterSpserviceorderQuerySpServiceOrderDTO) SetServiceDefinitionDTO(v TmallServicecenterSpserviceorderQueryServiceDefinitionDTO) *TmallServicecenterSpserviceorderQuerySpServiceOrderDTO {
	s.ServiceDefinitionDTO = &v
	return s
}
func (s *TmallServicecenterSpserviceorderQuerySpServiceOrderDTO) SetId(v int64) *TmallServicecenterSpserviceorderQuerySpServiceOrderDTO {
	s.Id = &v
	return s
}
func (s *TmallServicecenterSpserviceorderQuerySpServiceOrderDTO) SetGmtEffect(v util.LocalTime) *TmallServicecenterSpserviceorderQuerySpServiceOrderDTO {
	s.GmtEffect = &v
	return s
}
func (s *TmallServicecenterSpserviceorderQuerySpServiceOrderDTO) SetServiceTradeOrderDTO(v TmallServicecenterSpserviceorderQueryServiceTradeOrderDTO) *TmallServicecenterSpserviceorderQuerySpServiceOrderDTO {
	s.ServiceTradeOrderDTO = &v
	return s
}
func (s *TmallServicecenterSpserviceorderQuerySpServiceOrderDTO) SetServiceSequence(v int64) *TmallServicecenterSpserviceorderQuerySpServiceOrderDTO {
	s.ServiceSequence = &v
	return s
}
func (s *TmallServicecenterSpserviceorderQuerySpServiceOrderDTO) SetFulfilTypeCode(v string) *TmallServicecenterSpserviceorderQuerySpServiceOrderDTO {
	s.FulfilTypeCode = &v
	return s
}
func (s *TmallServicecenterSpserviceorderQuerySpServiceOrderDTO) SetServiceProviderDTO(v TmallServicecenterSpserviceorderQueryServiceProviderDto) *TmallServicecenterSpserviceorderQuerySpServiceOrderDTO {
	s.ServiceProviderDTO = &v
	return s
}
